/*
    使用fseek调整文件的读写位置
*/

#include<stdio.h>
#include<stdlib.h>

int main()
{
    FILE *fp = NULL;
    char rd_buf[100] = {0};
    char wr_buf[] = "人之初，性本善888666";
    int ret;
    int size;

    /*  打开文件    */
    fp = fopen("./test_file","w+");
    if (fp == NULL)
    {
        perror("fopen error");
        exit(-1);
    }
    printf("文件打开成功！\n");

    /*  写文件  */
    size = fwrite(wr_buf,1,sizeof(wr_buf),fp);
    if(sizeof(wr_buf)>size)
    {
        printf("fwrite error");
        fclose(fp);
        exit(-1);
    }
    printf("数据写入成功！\n");

    /*  将读写位置移动到文件头部  */
    if(0>fseek(fp,0,SEEK_SET)){
        perror("fread error\n");
        fclose(fp);
        exit(-1);
    }

    /*  读文件  */
    ret = fread(rd_buf,1,sizeof(wr_buf),fp);
    if(sizeof(wr_buf)>size)
    {
        printf("fread error\n");
        fclose(fp);
        exit(-1);
    }
    printf("成功读取%d个字节数据：%s\n",ret,rd_buf);

    /*  关闭文件  */
    fclose(fp);
    exit(0);

}